import axios from "axios";

const instance = axios.create({
    baseURL: "/api"
})

// 请求拦截器
instance.interceptors.request.use(config => {
    // 每次发起请求之前都会经过这里
    // 作用: 可以在这里统一携带上token (后面登录成功后后台会给一个token，)
    let token = localStorage.getItem("x-auth-token");
    if (token) {
        config.headers["x-auth-token"] = token;
    }
    // console.log("请求拦截器!!");
    return config;
}, error => {
    return Promise.reject(error);
})

// 响应拦截器
instance.interceptors.response.use(response => {
    // 每次请求完成响应到组件之前先经过这里
    // 作用:可以在这里统一对数据进行二次处理
    //  统一记录日志
    // console.log("响应拦截器！！", response);
    if (response.data.code != 0 && response.data.code != 407 && response.data.code != 400) {
        alert(response.data.message);
        return; //相当于返回了一个undefined
    }
    return response.data;
    // 函数没有return时，默认返回undefined
}, error => {
    return Promise.reject(error);
});

export default instance;